The present invention basically relates to the general field of data unit communication. In data unit communication, an amount of data is divided into individual units or pieces, and these pieces of data are transmitted to a desired receiver over an appropriate communication path. This form of data communication is very well known and in wide use.
Such data units carry a variety of names in the context of different communication systems and communication protocols such as packets, frames, segments, protocol data units, etc. The term “data unit” as used in the present specification and claims generically refers to any such division of a data amount.
In order to ensure the complete transmission of data units from a sender to a receiver, a mechanism referred to as ARQ (Automatic Retransmission reQuest) is known. When using an ARQ mechanism, the receiver of data units sends feedback messages to the sender, such that the sender can determine whether said data units were properly received, and if not, to appropriately perform retransmissions of data units. Such feedback messages can take various forms, e.g. acknowledgement messages (ACKs) that positively acknowledge correct receipt of a given data unit, negative acknowledgements (NACKs) that indicate an incorrect receipt, or report messages that can provide both of the above kinds of information, possibly together with further more detailed information.
Within the context of the present specification and claims, communications from a source of data units or sending end-peer to an intended receiver or receiving end-peer will be referred to as data unit messages, and the communication of feedback from the receiving end-peer to the sending end-peer will be referred to as feedback messages. The term “message” refers to both data unit messages and feedback messages.
Patent application PCT/EP2004/009967, the contents of which is herewith fully incorporated by reference, describes a novel concept of communicating data unit messages over a connection that comprises one or more relay points, i.e. over a multi-hop connection. This novel concept can also be referred to as relay ARQ. In accordance with relay ARQ, a single connection is established between a sending end-peer of a relay protocol and a receiving end-peer of a relay protocol, over one or more relay peers of the relay protocol, where a common protocol state is shared between the end-peers and the relay peers. FIG. 11 shows a simple illustration of a relay protocol using ARQ, applied e.g. to a link layer L2. Reference numeral 110 relates to a sending node wishing to send data unit messages to a receiving node 112. In FIG. 11, one relay node 111 is provided. There could also be further relay peers between the shown node 111 and the end node 112. In the example, the layer 2 comprises a relay ARQ protocol that acts to establish a single connection using a sending end-peer in node 110, a relay peer in node 111 and a receiving end-peer in node 112.
In accordance with the relay ARQ concept, data unit messages are sent in the direction of the receiving end-peer, and feedback messages are sent in the direction of the sending end-peer. Each message comprises a control section (e.g. a header) and a payload section. In accordance with the relay protocol, the sending end-peer sends data unit messages arranged in a sequence towards the receiving end-peer. Each sent data unit message is identifiable by a sequence position identifier, e.g. a sequence number. Using said sequence position identifiers, the feedback messages carry receipt information on a receipt of the data unit messages. Each peer that sends data unit messages can then perform retransmission control on the basis of the information from the feedback messages. An important aspect of the relay ARQ concept is that there are at least two types of receipt information, namely a first type of receipt information is indicative of a correct receipt of a data unit message at one of the relay peers, and a second type of receipt information is indicative of a correct receipt of a data units message at the receiving end-peer. The first type of receipt information can also be called a relay acknowledgment (RACK), while the second type of information can be referred to as an acknowledgement (ACK).
In accordance with the relay ARQ concept, a sending-end peer of the relay ARQ protocol receives a first type of receipt information when a data unit message has been successfully received at the next relay peer. In this event, the sending-end peer can temporarily delegate the retransmission responsibility to the relay peer. The one or more relay peers are arranged to forward at least the payload sections of data unit messages towards the receiving-end peer and to forward at least the second type receipt information towards the sending-end peer. In this way, when the sending-end peer receives the second type receipt information, it knows that the respective data unit (as identified by the sequence position identifier) has been correctly received at the receiving end-peer. In the event that the one or more relay peers can enter or leave the communication during the sending of a given sequence of data unit messages, it is therefore preferable that the sending end-peer retains each data unit message until having received the second type of receipt information. Thereby it retains the final control over the transmission of the data unit messages.
Each peer of the relay ARQ protocol that sends data unit messages (i.e. the sending end-peer and each relay peer) preferably conducts a first type of retransmission control for data unit messages for which no receipt information has been received, and a second retransmission control for such data unit messages for which the first type of receipt information has been received, but not the second type. In other words, once a peer has received the indication that the next peer in the direction of the receiving end-peer has correctly received the data unit message (which is learned by receiving the first type of receipt information), then the retransmission effort can be reduced, as the responsibility for transporting the data unit message further may be given to the next peer.
The relay ARQ concept is successful in controlling the transmission of data unit messages from a sending end-peer to a receiving end-peer over one or more relay peers. Nonetheless, it is the object of the present application to improve the relay ARQ concept.